


<script type="text/javascript">
  function updatekommander(ziel, id)
  {
    document.getElementById(ziel+'_kommandername').innerHTML=kommanderName[id];
    document.getElementById(ziel+'_kommanderlevel').innerHTML=kommanderLevel[id];
    document.getElementById(ziel+'_kommanderexp').innerHTML=kommanderExp[id];
    document.getElementById(ziel+'_kommanderbild').src=kommanderBild[id];  
  }
  function changeview(ziel, id)
  {
      document.getElementById(ziel+"kommander"+currentview[ziel]).style.display='none';
      document.getElementById(ziel+"kommander"+id).style.display='table';
	  currentview[ziel]=id;  
  }
  currentview=new Array();
  currentview['def']='all';
  currentview['off']='all';
</script>
<?
//Benötigte Funktionen
function fraktionsbox($f)
{
    global $config_fraktion;
    $ret="
	<table width=\"100%\">
	  <tr>";
	    foreach($config_fraktion AS $id=>$fraktion)
	    {
		    if(isset($fraktion[name]))
			{
	            $ret.= "
		        <td>
		          <img src=\"$fraktion[logo]\" width=\"40\" height=\"40\" alt=\"$fraktion[name]\">
		        </td>
			    <th>
			      ".intval($f[$id])."
                </th>";
			}
        }
		$ret.="
	  </tr>
	</table>";
	return $ret;
}
function gauge($label, $prozent, $beschreibung)
{
    $pro=round($prozent/100*140);
    $ret="<div class=\"statusbar_big\"><div class=\"statusbar_state\" style=\"width:".$pro."px;\"></div></div>";
    return $ret;
}//end of function gauge 
function array_sum_recursive($array){
	//Prevent "is not an array" Exception
	if(!is_array($array)) {
		return $array;
	}
	//Running through array
	foreach($array as $value){
		if(is_array($array)){
			$sum+=array_sum_recursive($value);
		}else{
			$sum+=$value;
		}
	}
	return $sum;
} //end of function array_sum_recursive
		

//Kampfbericht validieren und laden
if($bericht=$db->fetch_assoc($db->query("SELECT * FROM bericht WHERE Id=".intval($_GET[id]).";")))
{
    echo "<h1>Kampfbericht</h1>";
    //Laden der einzelnen Informationen
	$zielplanet=unserialize($bericht[Planet]);
	$verteidiger=unserialize($bericht[Verteidiger]);
	//echo "<pre>".print_r($verteidiger,true)."</pre>";
	//Dummyeintrag bearbeiten
	$angreifer=unserialize($bericht[Angreifer]);
	//print_r($angreifer);
	$spielerdaten=unserialize($bericht[Spieler]);
	$ausfall=unserialize($bericht[Ausfall]);
	$schaden=unserialize($bericht[Schaden]);
	$ressourcen=unserialize($bericht[Ressourcen]);
    //Auf Dummy überprüfen
    if(!isset($verteidiger[0][Name])){
	    $verteidiger[0][Id]=0;
		$verteidiger[0][Name]=$spielerdaten[$verteidiger[0][Spieler]][Name];
		$verteidiger[0][Exp]=0;
		if(file_exists("data/user/user-".$spielerdaten[$verteidiger[0][Spieler]][User].".jpg")){
		    $verteidiger[0][Bild]="data/user/user-".$spielerdaten[$verteidiger[0][Spieler]][User].".jpg";
		}else{
		    $verteidiger[0][Bild]="data/user/nopic.jpg";
		}			  
    }
    //die werte an javascipt übergeben
	echo "
	<script type=\"text/javascript\">
	  kommanderBild=new Array();
	  kommanderName=new Array();
	  kommanderLevel=new Array();
	  kommanderExp=new Array();
	  kommanderSpieler=new Array();";
	  foreach($angreifer as $key=>$kommander){
	      $id=intval($kommander[Id]);
		  $angreifer[$key][Bild]="data/kommander/kommander-$kommander[Id].png";
	      echo "
		  kommanderBild[$id]='".$angreifer[$key][Bild]."';
		  kommanderName[$id]='$kommander[Name]';
		  kommanderLevel[$id]=".calcLevel($kommander[Erfahrung]).";
		  kommanderExp[$id]=$kommander[Exp];
		  kommanderSpieler[$id]=$kommander[Spieler];";
          $fraktion[off][$kommander[Fraktion]]++;	
	      $punkte[off]+=$kommander[Punkte];
		  $schiffe[off]+=$kommander[Sichtbar]; //Ist keine dauerlösung
		  $sp[off][$kommander[Spieler]]=true;
	  }
      foreach($verteidiger as $key=>$kommander){
	      $id=intval($kommander[Id]);
	      if(!isset($kommander[Bild])){
		      $verteidiger[$key][Bild]="data/kommander/kommander-$kommander[Id].png";
		  }
 	      echo "
		  kommanderName[$id]='$kommander[Name]';
		  kommanderBild[$id]='".$verteidiger[$key][Bild]."';
		  kommanderLevel[$id]=".calcLevel($kommander[Erfahrung]).";
		  kommanderExp[$id]=$kommander[Exp];
		  kommanderSpieler[$id]=$kommander[Spieler];";
          $fraktion[def][$kommander[Fraktion]]++;	
	      $punkte[def]+=$kommander[Punkte];
		  $schiffe[def]+=$kommander[Sichtbar]; //Ist keine dauerlösung
		  $sp[def][$kommander[Spieler]]=true;
      }
	  echo "
	</script>";
	//echo "<pre>".print_r($verteidiger,true)."</pre>";
	//#######################################################################
    //Übersicht über die Anteile der Fraktionen
    //#######################################################################
	echo "
	<table width=\"100%\">
	  <tr>
	    <td colspan=\"2\" align=\"center\" width=\"250px\">
		  ".fraktionsbox($fraktion[def])."
		</td>
		<td align=\"center\" width=\"200px\">
		  <b>$zielplanet[PosX]:$zielplanet[PosY] - $zielplanet[Name]</b><br>
		  ".date("d.m.Y - H:i:s",$bericht[Zeit])."
		</td>
		<td colspan=\"2\" align=\"center\" width=\"250px\">
		  ".fraktionsbox($fraktion[off])."
		</td>
      </tr>
	</table>";
	//#######################################################################
    //Balkeninformationen (ministats)
    //#######################################################################
	echo "
	<table width=\"100%\">
	  <tr>
	    <td>";
		$schadendef=array_sum($schaden[def])/count($schaden[def]);
		$schadenoff=array_sum($schaden[off])/count($schaden[off]);
		  if($schadendef+$schadenoff>0){
	          $gauge_angriff=round($schadendef/($schadendef+$schadenoff)*100);	          
		  }else{
              $gauge_angriff=50;
		  }
		  $emp_off=array_sum_recursive($ausfall[def]); //da es um die Verluste geht wird andersherum ausgewertet (Ausfall wird zu Treffer)
		  $emp_def=array_sum_recursive($ausfall[off]);		  
		  if($emp_off==0 AND $emp_def==0){
		      $gauge_emp=50; //50% werden angezeigt wenn keina was hat
		  }else{
		      $gauge_emp=round(100/($emp_off+$emp_def)*$emp_def);
		  }
		  echo "
		  <table>
		    <tr>
			  <th>
			    <img src=\"images/logo_verteidigung.png\">
			  </th>
			  <td>
			    <b>Verteidigung:</b><br>
				".round($punkte[def])."
			  </td>
			</tr>
		    <tr>
			  <th>
			    <img src=\"images/logo_schiffe.png\">
			  </th>
			  <td>
			    <b>Schiffe:</b><br>
				$schiffe[def]
			  </td>
			</tr>
		    <tr>
			  <th>
			    <img src=\"images/logo_emp.png\">
			  </th>
			  <td>
			    <b>EMP-Treffer:</b><br>
				$emp_def
			  </td>
			</tr>
		  </table>";
	    echo "
		</td>
		<td colspan=\"3\" width=\"400px\" align=\"center\" valign=\"top\">
		  <img src=\"gauge.php?wert=$gauge_angriff&text=Ergebniss\" alt=\"Ausgang des Kampfes nach Verhältniss\" /><br>
		  <img src=\"gauge.php?wert=$gauge_emp&text=EMPs\" alt=\"Machtverhältniss EMPs\" /><br>		  
	    </td>
	    <td>";
		  echo "
		  <table>
		    <tr>
			  <th>
			    <img src=\"images/logo_angriff.png\">
			  </th>
			  <td>
			    <b>Angriffskraft:</b><br>
				".round($punkte[off])."
			  </td>
			</tr>
		    <tr>
			  <th>
			    <img src=\"images/logo_schiffe.png\">
			  </th>
			  <td>
			    <b>Schiffe:</b><br>
				$schiffe[off]
			  </td>
			</tr>
		    <tr>
			  <th>
			    <img src=\"images/logo_emp.png\">
			  </th>
			  <td>
			    <b>EMP-Treffer:</b><br>
				$emp_off
			  </td>
			</tr>
		  </table>";
	    echo "
		</td>
	  </tr>
	</table>";
	//#######################################################################
    //Beteiligte Kommander
    //#######################################################################
    //Die Werte der KOmmander kommen über die Javascript deklarationen am scriptanfang
	echo "
	<table width=\"100%\">
	  <tr>
	    <td width=\"120px\" valign=\"top\" align=\"center\" rowspan=\"2\">
		  <img src=\"data/kommander/kommander-1.png\" id=\"def_kommanderbild\" width=\"100%\"/>
		  <br>
		  <span id=\"def_kommandername\">Kommandername</span>
		</td>
		<td valign=\"top\" rowspan=\"2\" width=\"100px\">
		  <img src=\"images/star.png\" alt=\"Level des Kommanders\"/> <span id=\"def_kommanderlevel\">0</span><br>
		  <img src=\"images/schiff.png\" alt=\"Gesammelte Erfahrungspunkte\"/> <span id=\"def_kommanderexp\">10</span><br>
	    </td>
  	    <td width=\"110px\" align=\"center\"><b>".$spielerdaten[$zielplanet[Spieler]][Name]."</b></td>
		<th align=\"center\"><font style=\"font-size:30px; font-weight:bold;\">VS</font></td>
		<td width=\"110px\" align=\"center\"><b>".$spielerdaten[$angreifer[0][Spieler]][Name]."</b></td>
		<td valign=\"top\" rowspan=\"2\" width=\"100px\">
		  <img src=\"images/star.png\" alt=\"Level des Kommanders\" /> <span id=\"off_kommanderlevel\">0</span><br>
		  <img src=\"images/schiff.png\" alt=\"Gesammelte Erfahrungspunkte\"/> <span id=\"off_kommanderexp\">10</span><br>
	    </td>
	    <td width=\"120px\" valign=\"top\" rowspan=\"2\">
		  <img src=\"data/kommander/kommander-1.png\" id=\"off_kommanderbild\" width=\"100%\"/>
		  <br>
		  <span id=\"off_kommandername\">Kommandername</span>
		</td>
      </tr>	
      <tr>
        <td rowspan=\"2\" valign=\"top\" align=\"center\">";
		  foreach($sp[def] AS $id=>$value)
		  {
		      echo $spieler[$id][Name]."<br>";
		  }
		  echo "
		</td>
        <td rowspan=\"2\">&nbsp;</td>
        <td rowspan=\"2\" valign=\"top\" align=\"center\">";
		  foreach($sp[off] AS $id=>$value)
		  {
		      echo $spieler[$id][Name]."<br>";
		  }
          echo "
		</td>
      </tr>		
	  <tr>
	    <td colspan=\"2\" valign=\"top\" width=\"220px\">";
		  foreach($verteidiger AS $kommander)
		  {
		      echo "<img src=\"$kommander[Bild]\" style=\"width:40px; margin:2px;\" onmouseover=\"updatekommander('def',$kommander[Id])\"/>";
		  }
		  echo "
		</td>
		<td colspan=\"2\" valign=\"top\" width=\"220px\" align=\"right\">";
		  foreach($angreifer AS $kommander)
		  {
		      echo "<img src=\"$kommander[Bild]\" style=\"width:40px; margin:2px;\" onmouseover=\"updatekommander('off',$kommander[Id])\"/>";
		  }
		  echo "
        </td>
      </tr>		
	</table>";
    //Laden der beiden Kommander
    echo "
    <script type=\"text/javascript\">
      	updatekommander('def',".$verteidiger[0][Id].");
      	updatekommander('off',".$angreifer[0][Id].");
	</script>";		
	
	//###########################################################ANZEIGE der Schiffe
	$display[]=$verteidiger;
	$display[]=$angreifer;
	$current="def";
	foreach($display AS $seite)
	{
	    foreach($seite as $kommander)
	    {
	        $out.= "
		    <table class=\"tabelle\" id=\"".$current."kommander$kommander[Id]\" width=\"720px\" border=1 style=\"display:none;\">
		      <tr class=\"tabelle_head\">
		        <th colspan=\"4\" align=\"center\">$kommander[Name]'s Flotte</th>
		      </tr>
		      <tr>
		        <th>Schiff</th>
			    <th>Anzahl</th>
			    <th>Verlust</th>
			    <th>Überlebt</th>
		      </tr>";
		    foreach($config_schiff AS $schiffNr=>$schiff)
		    {
		        if($kommander["Schiff$schiffNr"]>0)
			    {
			        $gesamt_anzahl[$schiffNr]+=$tmp_anzahl=$kommander["Schiff$schiffNr"];
			        $gesamt_rest[$schiffNr]+=$tmp_rest=round($kommander["Schiff$schiffNr"]*$schaden[$current][$schiffNr]);
				    $gesamt_verlust[$schiffNr]+=$tmp_verlust=$tmp_anzahl-$tmp_rest;
		            $out.= "
			        <tr>
			          <th>".$schiff[name][$kommander[Fraktion]]."</th>
			          <th>".$tmp_anzahl."</th>
				      <th>$tmp_verlust</th>
				      <th>$tmp_rest</th>
			        </tr>";
			    } //existieren schiffe?
		    }
	        $out.= "
		    </table>";
	    }  
		//Auswahl
		if($current=="def")
		{
		    echo "<h2>Die Verteidiger</h2>";
		}
		else
		{
		    echo "<h2>Die Angreifer</h2>";
	    }
		echo "
		<div align=\"right\">
		<select onchange=\"changeview('$current',this.value);\" onkeyup=\"changeview('$current',this.value);\">
		  <option value=\"all\">Alle Anzeigen</option>";
		  foreach($seite as $value)
		  {
		      echo "<option value=\"$value[Id]\">-->$value[Name]</option>";
		  }
		  echo "
		</select>
		</div>";
		//Gesamtansicht
	    echo "
		<table class=\"tabelle\" id=\"".$current."kommanderall\" width=\"100%\" border=1 >
		  <tr class=\"tabelle_head\">
		    <th colspan=\"4\" align=\"center\">Gesamte Flotte</th>
		  </tr>
		  <tr>
		    <th>Schiff</th>
			<th>Anzahl</th>
			<th>Verlust</th>
			<th>Überlebt</th>
		  </tr>";
        foreach($config_schiff AS $schiffNr=>$schiff)
		{
		    if($gesamt_anzahl[$schiffNr]>0)
		    {
		        echo "
			    <tr>
			      <th>".$schiff[name][$kommander[Fraktion]]."</th>
			      <th>".$gesamt_anzahl[$schiffNr]."</th>
				  <th>".$gesamt_verlust[$schiffNr]."</th>
				  <th>".$gesamt_rest[$schiffNr]."</th>
			    </tr>";
			} //existieren schiffe?
		}
	    echo "
		</table>";
		//Allle anzeigen
		echo $out;
		//Bereinigen für die nächste Runde
	    $out=""; //dump für Tabellen
		unset($gesamt_anzahl);
		unset($gesamt_rest);
		unset($gesamt_verlust);
		$current="off";
	}//ende foreach display[Seite]
    //Rohstoffe
	settype($ressourcen,"array");
	foreach($ressourcen AS $key=>$value){
	    $line1.="<td>".$config_ress[$key][name]."</td>";
	    $line2.="<td>".round($value)."</td>";
	}
    echo "<br><h2>Erbeutete Rohstoffe:</h2>
	<table width=\"400px\">
	  <tr>
	    $line1
	 </tr>
	 <tr>
	   $line2
	 </tr>
	</table>";
	

	
	//Debug mode
	if($_SESSION[user][Rang]>0){
		echo "<br><br>";
		if(file_exists("logs/berichte/kampf-$bericht[Id].txt")){
			echo "<div class=\"info\">Zu diesem Kampf ist ein Debuglog verfügbar 
			(<input type=\"button\" value=\"anzeigen\" onclick=\"document.getElementById('debuglog').style.display='block';\" />)</div>";
			//debuglog
			$log=file_get_contents("logs/berichte/kampf-$bericht[Id].txt");
			echo "
				
			<div id=\"debuglog\" style=\"display:none;\">
			  <fieldset>
			    <legend>Debuglog:</legend>
				<div style=\"width:700px; height:300px; overflow:scrolling;\">$log</div>
			  </fieldset>
			</div>";
  
		}else{
			echo "<div class=\"info\">Zu diesem Kampf können <u>keine</u> Debug-Informationen abgerufen werden</div>";
		}
	}//ende debugmode
}
else
{
    echo "<div class=\"error\">Der Kampfbericht konnte in der Datenbank nicht gefunden werden</div>";
}
